#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/types.h>

int main()
{
    int id = fork();
    if(id > 0)
    {
        while(1)
        {
            printf("我是父进程，pid: %d, ppid: %d\n", getpid(), getppid());
            sleep(1);
        }
    }
    else if(id == 0)
    {
        while(1)
        {
            printf("我是子进程，pid: %d, ppid: %d\n", getpid(), getppid());
            sleep(1);
        }
    }
    else 
    {
        perror("fork fail");
        exit(-1);
    }
    return 0;
}


//#include <stdio.h>    
//#include <unistd.h>    
//#include <sys/types.h>    
//#include <stdlib.h>    
//int main()    
//{    
//    
//    pid_t id=fork();    
//    if(id==0)    
//    {    
//        //子进程    
//        while(1)    
//        {    
//            printf("子进程, pid=%d, ppid=%d, fork_val=%d\n", getpid(), getppid(), id);    
//            sleep(1);    
//            exit(1);    
//        }    
//    }                                                                                                                        
//    else if(id>0)      
//    {                          
//        //父进程    
//        while(1)      
//        {  
//            printf("父进程, pid=%d, ppid=%d, fork_val=%d\n", getpid(), getppid(), id);
//            sleep(1);
//            //程序不会立即终止
//        }
//    }
//    else 
//    {
//        perror("fork");
//        exit(-1);                                                                                                            
//    }
//    return 0;
//}  
//
//

//#include <stdio.h>
//#include <unistd.h>
//int main()    
//{ 
//  //  int a = 0;
//  //  while(1);
//  // // {
//   //   printf("i am a process, %d\n", a++);
//   //   sleep(1);
//   // }
//    return 0;    
//}
